home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Sample Code / Snippets / Files / GetVInfo ƒ / PBHGetVInfo.c next >
Encoding:
Text File  |  1992-07-15  |  3.8 KB  |  114 lines  |  [TEXT/MPS ]

  1. //
  2. // MPW Tool by im.
  3. // Usage : PBHGetVInfo [-i index] [-v volumeName:] [-r vRefNum]
  4. // 
  5.  
  6. #include    <Files.h>
  7. #include    <stdio.h>
  8. #include    <string.h>
  9. #include    <Packages.h>
  10.  
  11. HParamBlockRec    pb;
  12. Str255            volName;
  13.  
  14. main (int argc, char *argv[], char *envp[]) {
  15.     
  16.         auto    OSErr    osErr;
  17.         auto    short    index;
  18.         auto    char    *option, *parameter;
  19.         auto    Str255    string;
  20.         
  21.         InitGraf((Ptr) &qd.thePort);
  22.  
  23.         pb.volumeParam.ioNamePtr        = volName;
  24.         pb.volumeParam.ioVRefNum        = 0;
  25.         pb.volumeParam.ioVolIndex        = 0;
  26.  
  27.         index = 1;
  28.         while (index < argc) {
  29.         
  30.             option = argv[index++];
  31.             parameter = argv[index++];
  32.             
  33.             if ('-' != option[0] || (! strchr("ivr", option[1])) || index > argc) {
  34.                 printf("PBHGetVInfo [-i index] [-v volumeName:] [-r vRefNum]\n");
  35.                 exit(1);
  36.             } else {
  37.                 switch (option[1]) {
  38.                     case 'i' :
  39.                         sscanf(parameter, "%hd", &pb.volumeParam.ioVolIndex);
  40.                         break;
  41.                     case 'v' :
  42.                         parameter = (char *) c2pstr(parameter);
  43.                         pb.volumeParam.ioNamePtr = parameter;
  44.                         break;
  45.                     case 'r' :
  46.                         sscanf(parameter, "%hd", &pb.volumeParam.ioVRefNum);
  47.                         break;
  48.                         break;
  49.                 }
  50.             }            
  51.         }
  52.         
  53.     //    printf("ioNamePtr        = %P\n",    pb.volumeParam.ioNamePtr);
  54.     //    printf("ioVRefNum        = %hd\n",     pb.volumeParam.ioVRefNum);
  55.     //    printf("ioVolIndex        = %hd\n",     pb.volumeParam.ioVolIndex);
  56.         
  57.         osErr = PBHGetVInfo(&pb, false);
  58.         
  59.         if (noErr != osErr) {
  60.             printf("osErr            = %d\n",    osErr);
  61.         } else {
  62.             printf("ioResult        = %hd\n",    pb.volumeParam.ioResult);
  63.             printf("ioNamePtr        = %P\n",    pb.volumeParam.ioNamePtr);
  64.             printf("ioVRefNum        = %hd\n",     pb.volumeParam.ioVRefNum);
  65.             
  66.             printf("ioVolIndex        = %hd\n",     pb.volumeParam.ioVolIndex);
  67.             
  68.             IUDateString(pb.volumeParam.ioVCrDate, shortDate, string);
  69.             printf("ioVCrDate        = %P  ",     string);
  70.             IUTimeString(pb.volumeParam.ioVCrDate, false, string);
  71.             printf("%P\n",     string);
  72.             
  73.             IUDateString(pb.volumeParam.ioVLsMod, shortDate, string);
  74.             printf("ioVLsMod        = %P  ", string);
  75.             IUTimeString(pb.volumeParam.ioVLsMod, false, string);
  76.             printf("%P\n",     string);
  77.             
  78.             printf("ioVAtrb            = %hd\n",     pb.volumeParam.ioVAtrb);
  79.             printf("ioVNmFls        = %hu\n",     pb.volumeParam.ioVNmFls);
  80.             printf("ioVBitMap        = %hd\n",     pb.volumeParam.ioVBitMap);
  81.             printf("ioAllocPtr        = %hd\n",     pb.volumeParam.ioAllocPtr);
  82.             printf("ioVNmAlBlks        = %hu\n",     pb.volumeParam.ioVNmAlBlks);
  83.             printf("ioVAlBlkSiz        = %ld\n",     pb.volumeParam.ioVAlBlkSiz);
  84.             printf("ioVClpSiz        = %ld\n",     pb.volumeParam.ioVClpSiz);
  85.             printf("ioAlBlSt        = %hd\n",     pb.volumeParam.ioAlBlSt);
  86.             printf("ioVNxtCNID        = %ld\n",     pb.volumeParam.ioVNxtCNID);
  87.             printf("ioVFrBlk        = %hu\n",     pb.volumeParam.ioVFrBlk);
  88.             
  89.             printf("ioVSigWord        = %hu\n",     pb.volumeParam.ioVSigWord);
  90.             printf("ioVDrvInfo        = %hd\n",     pb.volumeParam.ioVDrvInfo);
  91.             printf("ioVDRefNum        = %hd\n",     pb.volumeParam.ioVDRefNum);
  92.             printf("ioVFSID            = %hd\n",     pb.volumeParam.ioVFSID);
  93.             
  94.             IUDateString(pb.volumeParam.ioVBkUp, shortDate, string);
  95.             printf("ioVBkUp            = %P  ", string);
  96.             IUTimeString(pb.volumeParam.ioVBkUp, false, string);
  97.             printf("%P\n",     string);
  98.  
  99.             printf("ioVSeqNum        = %hu\n",     pb.volumeParam.ioVSeqNum);
  100.             printf("ioVWrCnt        = %ld\n",     pb.volumeParam.ioVWrCnt);
  101.             printf("ioVFilCnt        = %ld\n",     pb.volumeParam.ioVFilCnt);
  102.             printf("ioVDirCnt        = %ld\n",     pb.volumeParam.ioVDirCnt);
  103.             
  104.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[0]);
  105.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[1]);
  106.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[2]);
  107.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[3]);
  108.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[4]);
  109.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[5]);
  110.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[6]);
  111.             printf("ioVFndrInfo[0]    = %ld\n",     pb.volumeParam.ioVFndrInfo[7]);
  112.         }
  113. }
  114.